package com.example.onlinemusic.Mapper;

import com.example.onlinemusic.model.LoveMusic;
import com.example.onlinemusic.model.Music;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface LoveMusicMapper {
    /***
     * 查询喜欢的音乐
     * @param userId
     * @param musicId
     * @return
     */
    LoveMusic findLoveMusicByMusicIdAndUserId(int userId, int musicId);

    /***
     * 收藏音乐
     * @param userId
     * @param musicId
     * @return
     */
    boolean insertLoveMusic(int userId, int musicId);

    /***
     * 查询用户的所有喜欢的音乐
     * @param userId
     * @return
     */
    List<Music> findLoveMusicByUserId(int userId);

    /***
     * 查询当前用户，指定musicName的音乐支持模糊查询
     * @param musicName
     * @param userId
     * @return
     */
    List<Music> findLoveMusicByKeyAndUserId(String musicName, int userId);

    /**
     * 移除喜欢的Id
     * @param userId 用户Id
     * @param musicId 音乐Id
     * @return 影响行数
     */
    int deleteLoveMusic(int userId, int musicId);


    /**
     * 通过删除音乐的时候将喜欢的音乐一起删除
     * @param musicId
     * @return
     */
    int deleteLoveMusicByMusicId(int musicId);
}
